home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / dev / gcc / libnixV1_0.lha / gnu / libnix.specs.rexx < prev    next >
OS/2 REXX Batch file  |  1995-07-13  |  2KB  |  118 lines

  1. /* A little ARexx-script that
  2.  * adds/tests for/removes noixemul in specsfile
  3.  *
  4.  */
  5.  
  6. PARSE ARG option filename .
  7.  
  8. IF LEFT(filename,1)=='"' & RIGHT(filename,1)=='"' THEN
  9.   filename=SUBSTR(filename,2,LENGTH(filename)-2)
  10.  
  11. noixemul=0
  12.  
  13. IF ~OPEN(fh,filename,"R") THEN
  14.   RETURN 5
  15.  
  16. DO lcnt=1 TO 1000
  17.   buf.lcnt=READLN(fh)
  18.  
  19.   IF POS("noixemul",buf.lcnt)~=0 THEN
  20.     noixemul=1
  21.  
  22.   IF EOF(fh) THEN
  23.     BREAK
  24. END
  25.  
  26. IF ~CLOSE(fh) THEN
  27.   RETURN 5
  28.  
  29. SELECT
  30.  
  31.   WHEN option=="-t" THEN /* Toggle */
  32.     IF noixemul THEN
  33.       option="-a"
  34.     ELSE
  35.       option="-r"
  36.  
  37.   WHEN option=="-a" THEN
  38.     IF noixemul THEN
  39.       RETURN 4
  40.  
  41.   WHEN option=="-r" THEN
  42.     IF ~noixemul THEN
  43.       RETURN 4
  44.  
  45.   WHEN option=="-c" THEN
  46.     RETURN noixemul
  47.  
  48. END
  49.  
  50. SELECT
  51.  
  52.   WHEN option=="-a" THEN
  53.   DO
  54.     cline=""
  55.  
  56.     DO i=1 TO lcnt-1
  57.  
  58.       IF cline~=="" THEN
  59.         IF buf.i=="" THEN
  60.           buf.i="%{noixemul:"cline"}"
  61.         ELSE
  62.           buf.i="%{!noixemul:"buf.i"}%{noixemul:"cline"}"
  63.  
  64.       SELECT
  65.  
  66.         WHEN buf.i=="*endfile:" THEN
  67.           cline="-lstubs"
  68.  
  69.         WHEN buf.i=="*link:" THEN
  70.           cline="%{g:-amiga-debug-hunk} "||,
  71.                 "%{resident:-databss-together -datadata-reloc "||,
  72.                   "%{mc68020:-fl lib020/libnix/libb }"||,
  73.                   "%{!mc68020:-fl libnix/libb }}"||,
  74.                 "%{!resident:"||,
  75.                   "%{fbaserel:-databss-together %{mc68020:-fl lib020/libnix/libb }"||,
  76.                                                "%{!mc68020:-fl libnix/libb }}"||,
  77.                   "%{!fbaserel: %{mc68020:-fl lib020/libnix }"||,
  78.                                "%{!mc68020:-fl libnix }}}"
  79.  
  80.         WHEN buf.i=="*lib:" THEN
  81.           cline="-lnixmain -lnix -lamiga"
  82.  
  83.         WHEN buf.i=="*startfile:" THEN
  84.           cline="%{resident:/gcc/lib/libnix/nrcrt0.o%s}"||,
  85.                 "%{!resident:"||,
  86.                   "%{fbaserel:/gcc/lib/libnix/nbcrt0.o%s}"||,
  87.                   "%{!fbaserel:/gcc/lib/libnix/ncrt0.o%s}}"
  88.         OTHERWISE
  89.           cline=""
  90.       END
  91.     END
  92.   END
  93.  
  94.   WHEN option=="-r" THEN
  95.   DO i=1 TO lcnt-1
  96.     IF POS("%{noixemul:",buf.i)~=0 THEN
  97.       buf.i=LEFT(buf.i,POS("%{noixemul:",buf.i)-1)
  98.  
  99.     IF LEFT(buf.i,12)=="%{!noixemul:" THEN
  100.       buf.i=SUBSTR(buf.i,13,LENGTH(buf.i)-13)
  101.   END
  102.  
  103. END
  104.  
  105. IF ~OPEN(fh,filename,"W") THEN
  106.   RETURN 5
  107.  
  108. DO i=1 TO lcnt-1
  109.  
  110.   CALL WRITELN(fh,buf.i)
  111.  
  112. END
  113.  
  114. IF ~CLOSE(fh) THEN
  115.   RETURN 5
  116.  
  117. RETURN 0
  118.